<html>
<head><meta charset="utf-8"><title>implementation details · t-compiler/wg-pipelining · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/index.html">t-compiler/wg-pipelining</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html">implementation details</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="164549098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164549098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164549098">(Apr 30 2019 at 15:35)</a>:</h4>
<p>it seems &lt;<a href="https://github.com/rust-lang/rust/pull/60006" target="_blank" title="https://github.com/rust-lang/rust/pull/60006">https://github.com/rust-lang/rust/pull/60006</a>&gt; was merged without my proposed change (or an argument against) but I think GitHub may be to blame for my comment being lost, heh (and I didn't see the further notifications, oops)</p>



<a name="164549181"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164549181" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164549181">(Apr 30 2019 at 15:36)</a>:</h4>
<p><span class="user-mention" data-user-id="120989">@nnethercote</span> <span class="user-mention" data-user-id="116015">@Alex Crichton</span> would you be against me preparing a PR that emits an uniform JSON message on <em>any</em> file output, as a sort of "output progress"?</p>



<a name="164549218"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164549218" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164549218">(Apr 30 2019 at 15:37)</a>:</h4>
<p>oh god I'm trying to load the 19 hidden comments on the PR and it's killing my laptop</p>



<a name="164549383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164549383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164549383">(Apr 30 2019 at 15:39)</a>:</h4>
<p><span class="user-mention" data-user-id="119009">@eddyb</span> the thinking on my end at least was that this is all unstable and forwards compatible with that</p>



<a name="164549395"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164549395" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164549395">(Apr 30 2019 at 15:39)</a>:</h4>
<p>in the sense that the goal here is to get data about speeding up builds thorugh pipelining</p>



<a name="164549400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164549400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164549400">(Apr 30 2019 at 15:39)</a>:</h4>
<p>rather than designing a general system of notifications coming out of the compiler</p>



<a name="164549414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164549414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164549414">(Apr 30 2019 at 15:39)</a>:</h4>
<p>(but leaving room for that to exist of course)</p>



<a name="164549493"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164549493" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164549493">(Apr 30 2019 at 15:40)</a>:</h4>
<p>my point is that we have a bad history of accidentally stabilizing some temporary implementation :P</p>



<a name="164549545"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164549545" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164549545">(Apr 30 2019 at 15:41)</a>:</h4>
<p>so I'd rather have the dumbest/simplest/most general thing here, and let Cargo use it for pipelining</p>



<a name="164549551"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164549551" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164549551">(Apr 30 2019 at 15:41)</a>:</h4>
<p>perhaps, but I also feel like we have a bad history of getting hung up on driving to a "pure" solution while obvious wins are left on the table</p>



<a name="164549558"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164549558" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164549558">(Apr 30 2019 at 15:41)</a>:</h4>
<p>or <code>sccache</code> for picking out files, etc.</p>



<a name="164549560"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164549560" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164549560">(Apr 30 2019 at 15:41)</a>:</h4>
<p>the most simple thing for now is what's already there?</p>



<a name="164549565"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164549565" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164549565">(Apr 30 2019 at 15:41)</a>:</h4>
<p>(which we haven't committed to stabilizing at all yet)</p>



<a name="164549666"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164549666" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164549666">(Apr 30 2019 at 15:42)</a>:</h4>
<p>I suspect it would be easier to replace all <code>fs::rename</code> calls, but I guess I can wait until I've actually attempted it, to say that (and not risk eating my own words)</p>



<a name="164549789"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164549789" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164549789">(Apr 30 2019 at 15:44)</a>:</h4>
<p>moving metadata emission earlier would be more of an endeavor, I suspect</p>



<a name="164550881"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164550881" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164550881">(Apr 30 2019 at 15:59)</a>:</h4>
<p><span class="user-mention" data-user-id="120989">@nnethercote</span> how was this comment resolved? I see no reply to it <a href="https://github.com/rust-lang/rust/pull/60006#discussion_r278147115" target="_blank" title="https://github.com/rust-lang/rust/pull/60006#discussion_r278147115">https://github.com/rust-lang/rust/pull/60006#discussion_r278147115</a></p>



<a name="164582382"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164582382" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> njn <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164582382">(Apr 30 2019 at 22:29)</a>:</h4>
<p>@eddyb I have vague YAGNI concerns about doing it before there's an explicit need, but I'm not against it.</p>



<a name="164582616"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164582616" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> njn <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164582616">(Apr 30 2019 at 22:33)</a>:</h4>
<p>@eddyb: ugh, I wrote a reply but must have failed to submit it. I have rewritten it now.</p>



<a name="164583569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164583569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> njn <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164583569">(Apr 30 2019 at 22:46)</a>:</h4>
<p>hmm, I probably clicked "resolve conversation", thinking that would post the comment I wrote</p>



<a name="164622318"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164622318" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164622318">(May 01 2019 at 13:17)</a>:</h4>
<p>ouch!</p>



<a name="164671769"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164671769" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164671769">(May 02 2019 at 01:06)</a>:</h4>
<p>so I finally has a chance to take a look at this: the original PR removed some <code>out_filenames.push(out_filename);</code> lines! that's pretty much where I'd expect something to be emitted</p>



<a name="164671803"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164671803" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164671803">(May 02 2019 at 01:07)</a>:</h4>
<p>with something like <code>--crate-type=rlib,dylib</code>, you might spend a little while linking one then the other, so they would be separated in time, I think?</p>



<a name="164671938"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164671938" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164671938">(May 02 2019 at 01:10)</a>:</h4>
<p>and it's actually only 1 other call site</p>



<a name="164676300"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164676300" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164676300">(May 02 2019 at 02:57)</a>:</h4>
<p>okay I opened <a href="https://github.com/rust-lang/rust/pull/60464" target="_blank" title="https://github.com/rust-lang/rust/pull/60464">https://github.com/rust-lang/rust/pull/60464</a></p>



<a name="164676302"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/195180-t-compiler/wg-pipelining/topic/implementation%20details/near/164676302" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/195180-t-compiler/wg-pipelining/topic/implementation.20details.html#164676302">(May 02 2019 at 02:57)</a>:</h4>
<p>now I can forget about it :P</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>